#ifndef SEMAFORO_H
#define SEMAFORO_H

#include <boost/thread/condition_variable.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/locks.hpp>
#include <QMutex>

class Semaforo {


public:

        unsigned int count_;

        boost::mutex * mutex_;

        boost::condition_variable condition_;

       // explicit Semaforo(QObject *parent = 0);

        Semaforo(unsigned int initial_count);




   unsigned int get_count() const ;

   void signal();

   void wait();



};
#endif // SEMAFORO_H
